'''
----银行ATM----
银行ATM存款取款：
1.模拟3张银行卡,1001,1002,1003,分别设置密码和余额(使用列表嵌套字典的方式)；
2.提示用户输入银行卡和密码，遍历每张卡的信息验证是否成功；
3.如果用户输入正确---提示让用户选择取款.存款还是退出,并提示余额多少.  输入错误---重新输入卡号密码；
  选择取款---提示输入取款额度,如果超过余额,提示余额不足;否则,在余额上减掉相应金额；
  选择存款---输入存款额度,余额加上相应额度,并提示余额多少；
  选择退出---重新登录；
4.连续3次输入错误账号密码,提示银行卡已被锁定，程序结束。
'''
card1 = {'id': '1001', 'username': 'zhangsan', 'password': '123', 'balance': 1000}
card2 = {'id': '1002', 'username': 'lisi', 'password': '123', 'balance': 2000}
card3 = {'id': '1003', 'username': 'wangwu', 'password': '123', 'balance': 3000}
card_list = [card1, card2, card3]

count = 0
while True:
    id = input('请输入你的卡号：')
    pwd = input('请输入你的密码：')
    tag = 0
    for card in card_list:
        if id == card['id'] and pwd == card['password']:
            tag = 1
            print(f'恭喜你，{card["username"]}登录成功了')
            break
    if tag == 0:
        count += 1
        if count == 3:
            print('不好意思，你的登录次数用完了')
            break
        else:
            print(f'登录错误，登录次数还剩下{3 - count}')
            continue
    while True:
        choice = int(input('请输入你的选择1存2取3退出：'))
        if choice == 1:
            money = float(input('请输入你的存款金额：'))
            card['balance'] += money
            print(f'存入成功，存入金额为{money}，总余额为：{card["balance"]}')
        elif choice == 2:
            money = float(input('请输入你的取款金额：'))
            if money <= card['balance']:
                card['balance'] -= money
                print(f'取款成功，取款金额为{money}，总余额为：{card["balance"]}')
            else:
                print('余额不足')
        elif choice == 3:
            print('正在退出')
            break
        else:
            print('输入有误')
            continue
